package com.tcoiss.kettle.server.controller;//package com.tcoiss.kettle.server.controller;
//
//import org.apache.shiro.SecurityUtils;
//import org.apache.shiro.authc.UsernamePasswordToken;
//import org.apache.shiro.subject.Subject;
//import com.tcoiss.kettle.common.povo.Result;
//import com.tcoiss.kettle.common.utils.AssertUtil;
//import com.tcoiss.kettle.common.request.LoginReq;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
///**
// * 登录鉴权API
// *
// * @author lyf
// */
//@RestController
//@RequestMapping("/kettle/login")
//public class SysLoginApiController {
//
//    /**
//     * 用户登录
//     *
//     * @param req {@link LoginReq}
//     * @return {@link Result}
//     */
//	@PostMapping("/in.do")
//    public Result loginIn(@Validated LoginReq req) {
//		// 获取当前用户主体
//		Subject currentUser = SecurityUtils.getSubject();
//		// 根据用户名和密码获取token认证信息
//		UsernamePasswordToken token = new UsernamePasswordToken(req.getUsername(), req.getPassword());
//		// 是否自动登录
//		if (req.isRememberMe()) {
//			token.setRememberMe(true);
//		}
//		// 执行登录认证, 这里会抛出权限异常, 需要做全局异常处理
//		currentUser.login(token);
//		// 判断是否认证成功
//		AssertUtil.state(currentUser.isAuthenticated(), "登录状态无效");
//		return Result.ok();
//    }
//
//    /**
//     * 用户退出
//     *
//     * @return {@link Result}
//     */
//	@GetMapping("/out.do")
//    public Result loginOut() {
//		// 获取当前用户主体
//		Subject currentUser = SecurityUtils.getSubject();
//		// 执行退出
//		currentUser.logout();
//		return Result.ok();
//    }
//}
